package com.ht.base.system.client;

import com.ht.base.system.common.pojo.bo.AppSystemBO;
import com.ht.base.system.common.pojo.qto.AppSystemQTO;
import org.base.common.appexception.ResultData;
import org.base.common.page.PageBO;

/**
 * @Author：hdengxian
 * @Date：2023/10/7 10:10
 */
public interface AppSystemClient {

    /**
     * 校验系统调用接口的合法性
     * @param appId
     * @param secretKey
     * @return
     */
    ResultData<Boolean> checkAppId(String appId, String secretKey);

    /**
     * 新增应用
     * @param appSystem
     * @param appSystemBO
     * @return Integer
     */
    ResultData<Integer> insertData(AppSystemBO appSystem, AppSystemBO appSystemBO);

    /**
     * 修改应用列管理
     *
     * @param appSystemBO 应用列管理
     * @return 结果
     */
    ResultData<Boolean> updateDataById(AppSystemBO appSystemBO);

    /**
     * 删除信息
     * 应用列管理
     * @param id 应用列管理主键
     * @return 结果
     */
    ResultData<Boolean> deleteById(Long id);

    /**
     * 批量删除
     * 应用列管理
     * @param ids 需要删除的应用列管理主键集合
     * @return 结果
     */
    ResultData<Boolean> deleteByIds(Long[] ids);

    /**
     * 查询
     * 应用列管理
     * @param id
     * @return 应用列管理
     */
    ResultData<AppSystemBO> findById(Long id);

    /**
     * 分页查询列表
     * 应用列管理
     * @param qto
     * @return 应用列管理集合
     */
    ResultData<PageBO<AppSystemBO>> findDataForPage(AppSystemQTO qto);
}
